Skip to content

feat: add Vanio icon#476

Open
patoi wants to merge 2 commits into
glincker:mainfrom
patoi:main
Open

feat: add Vanio icon#476
patoi wants to merge 2 commits into
glincker:mainfrom
patoi:main

Conversation

@patoi

@patoi patoi commented Jun 1, 2026

Copy link
Copy Markdown

Description

Add new icon, Vanio Informatika

Type

  • New icon(s)
  • Icon update/fix
  • Bug fix
  • New feature
  • Documentation
  • Maintenance/chore

Checklist

  • My changes follow the project's conventions
  • I've tested the build: cd packages/icons && npm run build
  • Security audit passes: npm run audit
  • Dist validation passes: npm run validate

For icon submissions:

  • SVG has a valid viewBox attribute
  • SVG is under 50KB
  • No embedded <script> tags or event handlers
  • Icon accurately represents the official brand
  • icons.json entry is complete (slug, title, hex, categories, variants)

Related Issues

Summary by CodeRabbit

  • New Features
    • Added a new "Vanio" brand icon with multiple variants to the icon collection.

@github-actions github-actions Bot added the icons Icon data, SVGs, or variants label Jun 1, 2026
@greptile-apps

greptile-apps Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds a new "Vanio" brand icon to the collection with default.svg (colored) and mono.svg variants, plus an icons.json entry. The previous round of feedback on mismatched paths and missing viewBox attributes has been addressed.

  • default.svg: Correctly uses viewBox=\"0 0 24 24\" and hardcoded brand colors; the color variant in icons.json deliberately reuses this file.
  • mono.svg: Has a hardcoded fill=\"#000000\" on its path instead of the fill=\"currentColor\" used by every other mono icon in the repo, which prevents CSS theming.
  • icons.json: Variant paths correctly point to vanio-informatika/ files; slug is vanio while the folder is vanio-informatika, which is a naming inconsistency but not a runtime breakage given explicit path declarations.

Confidence Score: 4/5

Safe to merge after fixing the mono.svg fill color; the default and JSON entries look correct

The mono variant has a hardcoded black fill that prevents CSS theming, which is how every other mono icon in the repo works. Merging as-is means the mono icon will always render black and ignore any dark-mode or custom-color context, which is a real behavioral regression relative to the rest of the collection.

public/icons/vanio-informatika/mono.svg needs its fill corrected before merge

Important Files Changed

Filename Overview
public/icons/vanio-informatika/default.svg New colored default/color SVG with viewBox and hardcoded brand colors; conventions are met for a color variant
public/icons/vanio-informatika/mono.svg New mono SVG uses hardcoded fill="#000000" instead of fill="currentColor", breaking CSS theming unlike every other mono icon in the repo
src/data/icons.json New "vanio" entry added; variant paths now correctly reference vanio-informatika folder; color variant reuses default.svg intentionally

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[icons.json entry\nslug: vanio] --> B[variant: default\n/icons/vanio-informatika/default.svg]
    A --> C[variant: color\n/icons/vanio-informatika/default.svg]
    A --> D[variant: mono\n/icons/vanio-informatika/mono.svg]
    B --> E[default.svg\nfill=#65a0dc + fill=#ffffff\n✅ viewBox present]
    C --> E
    D --> F[mono.svg\nfill=#000000 ❌\nshould be fill=currentColor]
Loading

Reviews (3): Last reviewed commit: "feat: add Vanio icon" | Re-trigger Greptile

Comment thread src/data/icons.json Outdated
Comment thread public/icons/vanio-informatika/color.svg Outdated
Comment thread public/icons/vanio-informatika/default.svg Outdated
@thegdsks

thegdsks commented Jun 7, 2026

Copy link
Copy Markdown
Member

Thanks for the contribution! Three small things before merge:

  1. icons.json entry is at the very end of the array - entries are alphabetical by slug, so vanio should sit with the v-prefixed entries.
  2. variants has both "default" and "color" pointing to the same file. When default is the color version, drop the redundant "color" key.
  3. Folder is public/icons/vanio-informatika/ but slug is "vanio". Either rename the folder to public/icons/vanio/ and update the paths, or change the slug to "vanio-informatika".

PR is on your fork's main branch so we can't push the fix from our side. Once those three are in we'll merge.

@thegdsks

Copy link
Copy Markdown
Member

Thanks @patoi for the Vanio Informatika contribution. Same note as #486: this branch is from your fork's main while our main has moved a couple hundred commits forward, so the PR currently reports ~140 file changes that are really just state your fork has not pulled in yet. Lint/Build and Validate SVG did not run. Could you rebase on the latest main with git fetch upstream main && git rebase upstream/main && git push --force-with-lease? After that the PR will be just the two Vanio SVGs plus the icons.json entry, CI will fire, and we can land it.

@coderabbitai

coderabbitai Bot commented Jun 12, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

A new brand icon entry for "vanio" is added to the icons data collection. The entry includes standard metadata: title, aliases, hex color code, categories, SVG variant references (default and mono), official URL, and publication date.

Changes

Icon Data Update

Layer / File(s) Summary
Vanio brand icon entry
src/data/icons.json
New icon object for slug: "vanio" is added to the brands collection with category tags, color metadata, SVG variant paths, and publication timestamp.

Estimated Code Review Effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly Related PRs

  • glincker/thesvg#550: Adds a new brand icon entry (workbuddy) to src/data/icons.json with the same data structure pattern.

Poem

🐰✨ A brand new icon hops into the fold,
Vanio arrives in the icon gold!
Default and mono, both looking fine,
In the brands collection, it will shine.
One hop, one entry, the change is small—
But each new icon enriches us all! 🎨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: add Vanio icon' clearly and concisely describes the main change—adding a new icon entry to the project.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
✨ Simplify code
  • Create PR with simplified code

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (2)
src/data/icons.json (2)

116946-116948: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Slug and folder path mismatch.

The slug is "vanio" but the variants paths reference /icons/vanio-informatika/. Per the coding guidelines, variants object keys must match filenames in public/icons/{slug}/.

You must either:

  • Rename the folder from public/icons/vanio-informatika/ to public/icons/vanio/ and update the paths here, OR
  • Change the slug from "vanio" to "vanio-informatika"

This issue was already flagged by reviewer @thegdsks in the PR comments.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/data/icons.json` around lines 116946 - 116948, The variants' file paths
reference "/icons/vanio-informatika/" while the entry's slug is "vanio", causing
a mismatch; fix by making them consistent: either rename the slug value from
"vanio" to "vanio-informatika" in the icons.json entry (update the "slug" field)
so it matches the existing variant paths, or rename the icon folder to "vanio"
and update the three variant paths ("default", "color", "mono") to use
"/icons/vanio/"; ensure the slug string and all paths in the variants object
match exactly.

Source: Coding guidelines


116937-116953: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Entry must be alphabetically sorted by slug.

The entry is appended at the end of the array, but the coding guidelines require entries to be alphabetically sorted by slug. The "vanio" entry should be relocated to the v-prefixed section of the array, not at the end.

This issue was already flagged by reviewer @thegdsks in the PR comments.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/data/icons.json` around lines 116937 - 116953, The "vanio" entry (object
with "slug": "vanio") is out of alphabetical order—move that entire object into
the correct v-section of the icons array so entries remain sorted by slug;
ensure you insert it among other slugs starting with "v", keep JSON syntax
intact (commas, properties like
"title","hex","variants","url","dateAdded","collection"), and run a quick
sort-check of the array to confirm overall alphabetical ordering by slug.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/data/icons.json`:
- Around line 116937-116953: The entry with slug "vanio" (title "Vanio") is
missing the required license field; add a "license" property to this object
containing the license type and, if available, a URL (e.g., license: { "type":
"APPROPRIATE_LICENSE_TYPE", "url": "LICENSE_URL_IF_AVAILABLE" }) so the record
meets the icons.json schema; ensure you place it alongside the existing keys
(e.g., after "url" or before "dateAdded") and populate the actual license values
for the Vanio brand.

---

Duplicate comments:
In `@src/data/icons.json`:
- Around line 116946-116948: The variants' file paths reference
"/icons/vanio-informatika/" while the entry's slug is "vanio", causing a
mismatch; fix by making them consistent: either rename the slug value from
"vanio" to "vanio-informatika" in the icons.json entry (update the "slug" field)
so it matches the existing variant paths, or rename the icon folder to "vanio"
and update the three variant paths ("default", "color", "mono") to use
"/icons/vanio/"; ensure the slug string and all paths in the variants object
match exactly.
- Around line 116937-116953: The "vanio" entry (object with "slug": "vanio") is
out of alphabetical order—move that entire object into the correct v-section of
the icons array so entries remain sorted by slug; ensure you insert it among
other slugs starting with "v", keep JSON syntax intact (commas, properties like
"title","hex","variants","url","dateAdded","collection"), and run a quick
sort-check of the array to confirm overall alphabetical ordering by slug.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: ae91d8e6-771f-4047-80d6-2de5fb9e780b

📥 Commits

Reviewing files that changed from the base of the PR and between 0b36b76 and afc77a9.

⛔ Files ignored due to path filters (2)
  • public/icons/vanio-informatika/default.svg is excluded by !**/*.svg
  • public/icons/vanio-informatika/mono.svg is excluded by !**/*.svg
📒 Files selected for processing (1)
  • src/data/icons.json

Comment thread src/data/icons.json
Comment on lines +116937 to 116953
{
"slug": "vanio",
"title": "Vanio",
"aliases": [],
"hex": "65A0DC",
"categories": [
"Software"
],
"variants": {
"default": "/icons/vanio-informatika/default.svg",
"color": "/icons/vanio-informatika/default.svg",
"mono": "/icons/vanio-informatika/mono.svg"
},
"url": "https://vanio.hu",
"dateAdded": "2026-06-01",
"collection": "brands"
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Missing required license field.

The coding guidelines specify that icons.json entries must include a license field, but it is absent from this entry. This is a required field that must be populated before merge.

📝 Add the missing license field
     "variants": {
       "default": "/icons/vanio-informatika/default.svg",
       "color": "/icons/vanio-informatika/default.svg",
       "mono": "/icons/vanio-informatika/mono.svg"
     },
+    "license": {
+      "type": "APPROPRIATE_LICENSE_TYPE",
+      "url": "LICENSE_URL_IF_AVAILABLE"
+    },
     "url": "https://vanio.hu",
     "dateAdded": "2026-06-01",
     "collection": "brands"

Replace APPROPRIATE_LICENSE_TYPE and LICENSE_URL_IF_AVAILABLE with the actual license information for the Vanio brand icon.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{
"slug": "vanio",
"title": "Vanio",
"aliases": [],
"hex": "65A0DC",
"categories": [
"Software"
],
"variants": {
"default": "/icons/vanio-informatika/default.svg",
"color": "/icons/vanio-informatika/default.svg",
"mono": "/icons/vanio-informatika/mono.svg"
},
"url": "https://vanio.hu",
"dateAdded": "2026-06-01",
"collection": "brands"
}
{
"slug": "vanio",
"title": "Vanio",
"aliases": [],
"hex": "65A0DC",
"categories": [
"Software"
],
"variants": {
"default": "/icons/vanio-informatika/default.svg",
"color": "/icons/vanio-informatika/default.svg",
"mono": "/icons/vanio-informatika/mono.svg"
},
"license": {
"type": "APPROPRIATE_LICENSE_TYPE",
"url": "LICENSE_URL_IF_AVAILABLE"
},
"url": "https://vanio.hu",
"dateAdded": "2026-06-01",
"collection": "brands"
}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/data/icons.json` around lines 116937 - 116953, The entry with slug
"vanio" (title "Vanio") is missing the required license field; add a "license"
property to this object containing the license type and, if available, a URL
(e.g., license: { "type": "APPROPRIATE_LICENSE_TYPE", "url":
"LICENSE_URL_IF_AVAILABLE" }) so the record meets the icons.json schema; ensure
you place it alongside the existing keys (e.g., after "url" or before
"dateAdded") and populate the actual license values for the Vanio brand.

Source: Coding guidelines

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

icons Icon data, SVGs, or variants

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants